The present invention relates generally to control systems and more particularly to dynamic inversion control systems using quadratic programming.
Time varying systems can be modeled by a set of linearized algebraic equations that relate the outputs and performance indices of the system to the inputs at every instant in time (in a nonlinear dynamical system, these equations change at every time instant). These inputs are formally known as control variables, because the values of these variables are under the control of the operator. The aim is to find the best sequence of control variables in time that maximize the performance indices of the system. In addition, the physical constraints of the system must be honored in order to prevent critical system failure. The problem of determining the best sequence of control variables requires solving a sequence of optimization problems in time, i.e., a new optimization problem at every instant in time. Each such optimization problem must be solved almost instantaneously. For the Dynamic Inversion application in systems with fast dynamics, this allows only a few milliseconds. Hence the requirement that the optimization technique come up with a solution swiftly is key in these applications.
Such a sequence of problems has directly or indirectly been posed for controlling dynamical systems in the past. However, the techniques for solving them have either not operated in real-time, because the applications were not real-time critical or operated in real-time, but the real-time interval was far more generous (perhaps of the order of hours, not milliseconds), as in control of downstream petroleum refining operations and in portfolio optimization. Other techniques operated in real-time, but the technique was such that no rigorous claim could be made about the optimality of the solution, and no attention was paid to not violating the physical constraints of the system. Examples of this technique include certain flight control algorithms.